The present invention generally relates to assigning signal routes in a programmable logic device (PLD), and more particularly to assigning signal routes to input signals requiring different voltage standards.
Example complex programmable logic devices (CPLD) are found in the XC9500 family of CPLDs from Xilinx. The XC9500 CPLDs include input/output blocks (IOBs), function blocks (FBs), and a switch matrix for interconnecting the function blocks and I/O blocks. Such a switch matrix is described in U.S. Pat. No. 5,563,528, entitled, Multiplexer for Programmable Logic Device, to Diba et al, which is incorporated herein by reference. The inputs to the switch matrix are input pins from the IOBs and feedback inputs from the FBs.
The semiconductor industry standard operating voltage has in the past been 5 volts, and all devices on a system board have operated at 5 volts. The IOBs were designed to interface with structures outside the chip using 5 volts as a power supply voltage. However, the industry is presently migrating to lower voltages for faster operation at lower power. Rather than all chips in a system operating at a single voltage, different chips operating at different power supply voltages may be present in a single system. It may be desirable for a CPLD in a mixed-voltage system to interface with chips operating at different voltage levels.
Some devices in the XC9500 family of CPLDs have multiple input banks. An input bank is a set of input pins that are controlled by the same input voltage level (Vref). All the pins of a function block belong to the same input bank and are all controlled by the same Vref. Each input bank is programmable to support a selected Vref. By setting the Vref of certain input banks to the same voltage level, the banks can be viewed as merged into one bank.
As with any programmable logic device, a CPLD has a limited number of pin resources. Thus, for almost any design, a routing solution that makes efficient use of pin resources while satisfying the input banking requirements is desirable. A method and apparatus that address the aforementioned problems, as well as other related problems, are therefore desirable.
In various embodiments, methods and apparatus for routing input signals having different voltage requirements in a PLD circuit design are provided by the present invention. The input signals are grouped into logical clusters, wherein the input signals in each logical cluster have a common input voltage standard. Programmable logic elements of the device are grouped into physical clusters, whereby input pins associated with the programmable logic elements are also associated with the physical cluster. Each physical cluster is paired with a logical cluster based on the number of input pins available in the physical cluster and the number of input signals to be routed in the logical cluster. The input voltage standards of the logical clusters are thereby assigned to the paired physical clusters. For each paired logical cluster and physical cluster, the input signals of the logical cluster are routed from the pins of the physical cluster to the programmable logic elements of the physical cluster.
It will be appreciated that various other embodiments are set forth in the Detailed Description and Claims, which follow.